package com.xmu.prcs.service;

import java.util.List;

import com.xmu.prcs.action.bean.UserInfoBean;
import com.xmu.prcs.util.PageBean;
import com.xmu.prcs.util.ResultBean;

/**
 * 用户管理
 * @author frequent
 * @version 1.0,2012-3-20
 *
 */
public interface UserManager {

	/**
	 * 增加用户
	 * @param user
	 * @return
	 */
	public boolean addUser(UserInfoBean user);
	
	/**
	 * 判断系统中是否存在用户名为name的用户
	 * @param name
	 * @return
	 */
	public boolean isUserNameExist(String name);
	
	/**
	 * 判断系统中是否存在名为email的邮箱地址
	 * @param email
	 * @return
	 */
	public boolean isEmailExist(String email);
	
	/**
	 * 通过用户名得到用户Id
	 * @param name
	 * @return
	 */
	public int getUserIdByUserName(String name);
	
	/**
	 * 通过用户Id得到用户信息
	 * @param idUser
	 * @return
	 */
	public UserInfoBean getUserById(String idUser);
	
	/**
	 * 修改用户信息
	 * @param userId
	 * @param user
	 * @return
	 */
	public boolean modifyUserInfo(int userId, UserInfoBean user);
	
	/**
	 * 以分页效果得到用户列表
	 * @param page
	 * @return
	 */
	public ResultBean listUsers4page(PageBean page, String name);
	
	/**
	 * 冻结用户
	 * @param userId
	 * @return
	 */
	public boolean freezeUser(int userId);
	
	/**
	 * 解冻该用户
	 * @param userId
	 * @return
	 */
	public boolean unfreezeUser(int userId);
	
	/** 
	 * 得到指定用户的角色
	 * @param userId
	 * @return
	 */
	public int getUserRoleById(int userId);
	
	/**
	 * 得到所有的用户
	 * @return
	 */
	public List<UserInfoBean> getAllUsers();
	
	/**
	 * 给一个用户献鲜花
	 * @param userId
	 * @return
	 */
	public boolean addFlower4User(int userId);
	
	/**
	 * 向一个用户砸鸡蛋
	 * @param userId
	 * @return
	 */
	public boolean addEgg4User(int userId);
}
